package bingfa

import "fmt"

/*
channel的关闭：
使用内置函数close可以关闭channel，当channel关闭后就不能再向channel写数据了，但是仍然可以
从该channel读取数据
channel的遍历：
channel支持for-range的方式进行遍历，请注意两个细节
在遍历时，如果channel没有关闭则会出现deadlock的错误
在遍历时，如果channel已经关闭，则会正常遍历数据，遍历完后，就会退出遍历，当然这也是在非协程的情况下，如果在协程的情况下没关闭且没有数据那么就会阻塞
 */
func Test8()  {
	intChan:=make(chan int,100)
	for i:=0;i<100;i++{
		intChan<-i*2
	}
	close(intChan)
	for value:=range intChan{
		fmt.Println(value)
	}
}
